home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / EMPCI / OEMSETUP.INF < prev   
Encoding:
INI File  |  1996-07-31  |  30.3 KB  |  814 lines

  1. ;---------------------------------------------------------------------------
  2. ; OEMSETUP file for Cogent eMASTER+ PCI Ethernet/Fast EThernet Adapters
  3. ;
  4. ;       
  5. ; Supported Windows NT versions: 
  6. ;   3.51 or later
  7. ;
  8. ; Supported Cogent PCI adapters:
  9. ;   DC21040 based boards - EM960C, EM960TP, EM964TP, EM964BNC
  10. ;   DC21140 based boards - (100 Mbps only)  EM100TX, EM100FX, EM400TX
  11. ;                          (100/10 Mbps TX) EM110TX, EM110TXC
  12. ;                          (100/10 Mbps T4) EM110T4, EM110T4C, EM440T4      
  13. ;       
  14. ;
  15. ; Usage:
  16. ;
  17. ;     This file is the installation/configuration/deinstallation
  18. ;     procedure of the EMPCI miniport driver for Windows NT.  It can be called
  19. ;     from Windows Setup directly, or via the Windows NT Networks
  20. ;     Control Program Applet (NCPA) from inside the Windows
  21. ;     Control Panel.
  22. ;
  23. ;---------------------------------------------------------------------------
  24. [Identification]
  25.     OptionType = NetAdapter
  26. [PlatformsSupported]
  27.     ISA
  28.     EISA
  29.     "Jazz-Internal Bus"
  30.     PCI
  31. [Options]
  32.     EMPCI
  33.  
  34. [ConnectionChoicesEMPCI]
  35.     Connect_0 = "AutoSense/Half Duplex", 0
  36.     Connect_1 = "AutoSense/Full Duplex", 256
  37.     Connect_2 = "10 Mbps UTP", 3                                
  38.     Connect_3 = "10 Mbps UTP/Full Duplex", 259
  39.     Connect_4 = "100 Mbps", 15                                
  40.     Connect_5 = "100 Mbps/Full Duplex", 271                
  41.     Connect_6 = "THIN", 2
  42.     Connect_7 = "THICK", 1
  43.     
  44. [CFIDS]
  45. DC21040CFID = 135185        ;; 0x00021011
  46. DC21140CFID = 593937        ;; 0x00091011
  47. ;DC21041CFID = 1314833      ;; 0x00141011
  48.         
  49.  
  50. [FileConstants]
  51. ;---General--- 
  52. UtilityInf      = "UTILITY.INF"
  53. subroutineinf   = "SUBROUTN.INF"
  54. SoftwareType    = "driver"
  55. Exit_Code       = 0
  56. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  57. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  58. Manufacturer    = "Cogent"
  59. ProductMajorVersion     = "2"
  60. ProductMinorVersion     = "3"
  61. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  62. VendorID = 4113  ;; 1011 
  63. OptionHelpFile = "EMPCI.hlp"
  64.  
  65. ;---Software---
  66. ProductSoftwareName     = "EMPCI"
  67. ProductSoftwareTitle    = "Cogent EMPCI Adapter Driver"
  68. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\EMPCI.sys"
  69. NetRuleSoftwareType     = "EMPCISys ndisDriver EMPCIDriver"
  70. NetRuleSoftwareUse      = $(SoftwareType)
  71. NetRuleSoftwareBindForm = """EMPCISys"" yes no container"
  72. NetRuleSoftwareClass    = {"EMPCIDriver basic"}
  73. NetRuleSoftwareSWBindable = {"EMPCIDriver EMPCIAdapter non exclusive 100"}
  74.  
  75. ;---Hardware---
  76. ProductHardwareName = "EMPCI"
  77. ProductHardwareEMPCITitle = "Cogent eMASTER+ PCI Adapter"
  78. NetRuleHardwareEMPCIType  = "EMPCI EMPCIAdapter"
  79. NetRuleHardwareEMPCIClass = {"EMPCIAdapter basic"}
  80. AdapterEMPCIType = 5  ;; PCI board
  81. HelpEMPCIId = 10
  82.  
  83. NetRuleHardwareBindForm = " yes yes container"
  84. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  85. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  86.  
  87. [GeneralConstants]
  88. from      = ""
  89. to        = ""
  90. ExitCodeOk     = 0
  91. ExitCodeCancel = 1
  92. ExitCodeFatal  = 2
  93. KeyNull         = ""
  94. MAXIMUM_ALLOWED   = 33554432
  95. RegistryErrorIndex = NO_ERROR
  96. KeyProduct      = ""
  97. KeyParameters   = ""
  98. TRUE            = 1
  99. FALSE           = 0
  100. NoTitle            = 0
  101. ExitState   = "Active"
  102. OldVersionExisted = $(FALSE)
  103. DriverPath      = $(!STF_NTPATH)\drivers
  104.  
  105. [date]
  106.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  107.     
  108. [Identify]
  109.     read-syms Identification
  110.     set Status     = STATUS_SUCCESSFUL
  111.     set Identifier = $(OptionType)
  112.     set Media      = #("Source Media Descriptions", 1, 1)
  113.     Return $(Status) $(Identifier) $(Media)
  114.     
  115. [ReturnOptions]
  116.     set Status        = STATUS_FAILED
  117.     set OptionList     = {}
  118.     set OptionTextList = {}
  119.     set LanguageList = ^(LanguagesSupported, 1)
  120.     Ifcontains(i) $($0) in $(LanguageList)
  121.         ifstr(i) $($1) == ""
  122.            goto returnoptions
  123.         endif
  124.         set PlatformList = ^(PlatformsSupported, 1)
  125.         Ifcontains(i) $($1) in $(PlatformList)
  126.            goto returnoptions
  127.         else
  128.            set Status = STATUS_NOTSUPPORTED
  129.            goto finish_ReturnOptions
  130.         endif
  131.     else
  132.         set Status = STATUS_NOLANGUAGE
  133.         goto finish_ReturnOptions
  134.     endif
  135.     
  136. returnoptions = +
  137.     set OptionList     = ^(Options, 1)
  138.     set OptionTextList = ^(OptionsText$($0), 1)
  139.     set Status         = STATUS_SUCCESSFUL
  140. finish_ReturnOptions = +
  141.     Return $(Status) $(OptionList) $(OptionTextList)
  142. [InstallOption]
  143.     set Option   = $($1)
  144.     set SrcDir   = $($2)
  145.     set AddCopy  = $($3)
  146.     set DoCopy   = $($4)
  147.     set DoConfig = $($5)
  148.     set LanguageList = ^(LanguagesSupported, 1)
  149.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  150.         Return STATUS_NOLANGUAGE
  151.     endif
  152.     set-subst LF = "\n"
  153.     read-syms GeneralConstants
  154.     read-syms FileConstants
  155.     set NetRuleSoftwareBindable = $($R1)
  156.     read-syms DialogConstants$(!STF_LANGUAGE)
  157.     ifstr(i) $(!NTN_Origination) == "NCPA"
  158.         set Continue = "OK"
  159.     endif
  160.     read-syms FileConstants$(!STF_LANGUAGE)
  161.     detect date
  162.     set-title  $(Function$(Option)Title)
  163.     set to   = Begin
  164.     set from = Begin
  165.     set CommonStatus = STATUS_SUCCESSFUL
  166.     
  167.     ;Set !DebugOutputControl = 1
  168.     
  169.     EndWait
  170. Begin = +
  171.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  172.         set StartLabel = removeadapter
  173.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  174.         set StartLabel = UpgradeSoftware
  175.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  176.         set StartLabel = bindingadapter
  177.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  178.           Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  179.                Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  180.                ifint $($ShellCode) != $(!SHELL_CODE_OK)
  181.                      goto ShellCodeError
  182.                endif
  183.                set Error = $($R0)
  184.                set from = end
  185.                set to = end
  186.                goto nonfatalinfo
  187.           else
  188.                set StartLabel = configureadapter
  189.           endif
  190.    else
  191.         set StartLabel = installadapter
  192.         set OEM_ABANDON_OPTIONS = {}
  193.         set OEM_ABANDON_SOFTWARE = FALSE
  194.         set OEM_ABANDON_ON = TRUE
  195.     endif
  196.     set from = $(fatal)
  197.     set to = $(fatal)
  198.     goto $(StartLabel)
  199. installadapter = +
  200.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  201.     Ifstr $(KeyProduct) != $(KeyNull)
  202.         CloseRegKey $(KeyProduct)
  203.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  204.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  205.                $(ProductVersion)
  206.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  207.                goto ShellCodeError
  208.            endif
  209.            goto end
  210.         else
  211.            Shell $(UtilityInf), CardExistedDlg
  212.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  213.               goto ShellCodeError
  214.            endif
  215.            ifstr(i) $($R1) != "OK"
  216.                set CommonStatus = STATUS_USERCANCEL
  217.                goto end
  218.            endif
  219.            set OldVersionExisted = $(TRUE)
  220.         endif
  221.     Endif
  222.     ifstr(i) $(DoCopy) == "YES"
  223.         Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  224.         Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  225.             Goto ShellCodeError
  226.         Else-Ifstr(i) $($R0) == STATUS_FAILED
  227.             Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  228.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  229.                goto ShellCodeError
  230.             endif
  231.             set Error = $($R0)
  232.                Goto fatal
  233.         Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  234.                Goto successful
  235.         Endif
  236.         Set SrcDir = $($R1)
  237.         install "Install-Hlp"
  238.     endif
  239.    goto installproduct
  240. configureadapter = +
  241.    Ifstr(i) $(KeyProduct) == $(KeyNull)
  242.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  243.         Ifstr $(KeyProduct) == $(KeyNull)
  244.             Set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  245.            Goto fatalregistry
  246.         Endif
  247.     Endif
  248.     Shell $(UtilityInf) FindService, $(KeyProduct)
  249.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  250.         Goto ShellCodeError
  251.     Endif
  252.     Ifstr(i) $($R0) != NO_ERROR
  253.         Goto fatalregistry
  254.     endif
  255.     set KeyParameters = $($R2)
  256.     CloseRegKey $($R1)
  257.     Ifstr $(KeyParameters) == $(KeyNull)
  258.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  259.         goto fatalregistry
  260.     endif
  261.     set OldVersionExisted = $(TRUE)
  262.     set ValueName = ""
  263.     set ValueData = ""
  264.     set ValueStr  = ""
  265.     set ValueList = {}
  266.     EnumRegValue $(KeyParameters) ValueList
  267.     ForListDo $(ValueList)
  268.         set ValueItem = $($)
  269.         set ValueName = *($(ValueItem),1)
  270.         set ValueData = *($(ValueItem),4)
  271.         Ifstr(i) $(ValueName) == "ConnectionType"
  272.             set ConnectionIndex = $(ValueData)
  273.         endif
  274.     EndForListDo
  275.     set ConnectionValue = *($(ConnectionList), ~($(ConnectionValues),$(ConnectionIndex)))
  276.     ifstr(i) $(ConnectionValue) == ""
  277.         set ConnectionValue = *($(ConnectionList), 2)
  278.     endif
  279. adapteroptions = +
  280.         set from = adapteroptions
  281.         read-syms FileDependentDlg$(!STF_LANGUAGE)
  282.         SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
  283.         ui start "InputDlg"
  284.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  285.            set ConnectionIndex = $(Combo1Out)
  286.            ui pop 1
  287.         else-ifstr(i) $(DLGEVENT) == "BACK"
  288.            set CommonStatus = STATUS_USERCANCEL
  289.            ui pop 1
  290.            goto end
  291.         else
  292.            ui pop 1
  293.            goto end
  294.         endif
  295.         set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex)))
  296.         ifstr(i) $(!NTN_InstallMode) == configure
  297.            goto updateparameters
  298.         endif
  299. ;        
  300. installproduct =+
  301.     StartWait
  302. ;    
  303.     ifint $(OldVersionExisted) == $(FALSE)
  304.         Ifstr(i) $(DoCopy) == "YES"
  305.            Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  306.            Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  307.                Goto ShellCodeError
  308.            Else-Ifstr(i) $($R0) == STATUS_FAILED
  309.                Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  310.                ifint $($ShellCode) != $(!SHELL_CODE_OK)
  311.                   goto ShellCodeError
  312.                endif
  313.                set Error = $($R0)
  314.                Goto fatal
  315.            Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  316.                Goto successful
  317.            Endif
  318.            Set SrcDir = $($R1)
  319.         Endif
  320.         install "Install-Option"
  321.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  322.            Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  323.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  324.                goto ShellCodeError
  325.            endif
  326.            set Error = $($R0)
  327.            goto fatal
  328.         endif
  329.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  330.             $(ProductSoftwareName), +
  331.             $(ProductSoftwareName), +
  332.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  333.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  334.             $(NetEventDLL)
  335.         Set OEM_ABANDON_SOFTWARE = TRUE
  336.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  337.             goto ShellCodeError
  338.         endif
  339.         set RegistryErrorIndex = $($R0)
  340.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  341.             EndWait
  342.             CloseRegKey $($R1)
  343.             CloseRegKey $($R2)
  344.             CloseRegKey $($R3)
  345.             CloseRegKey $($R4)
  346.             CloseRegKey $($R5)
  347.             goto fatalregistry
  348.         endif
  349.         Set SoftProductKey      = $($R1)
  350.         Set SoftNetRuleKey      = $($R2)
  351.         Set SoftServiceKey      = $($R3)
  352.         Set SoftParameterKey    = $($R4)
  353.         Set SoftLinkageKey      = $($R5)
  354.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  355.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  356.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  357.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  358.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  359.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  360.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  361.         Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  362.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  363.             goto ShellCodeError
  364.         endif
  365.         set RegistryErrorIndex = $($R0)
  366.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  367.             EndWait
  368.             CloseRegKey $(SoftProductKey)
  369.             CloseRegKey $(SoftNetRuleKey)
  370.             CloseRegKey $(SoftServiceKey)
  371.             CloseRegKey $(SoftParameterKey)
  372.             CloseRegKey $(SoftLinkageKey)
  373.             goto fatalregistry
  374.         endif
  375.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  376.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  377.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  378.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  379.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareSWBindable)}, +
  380.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  381.         Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  382.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  383.             goto ShellCodeError
  384.         endif
  385.         set RegistryErrorIndex = $($R0)
  386.         CloseRegKey $(SoftProductKey)
  387.         CloseRegKey $(SoftNetRuleKey)
  388.         CloseRegKey $(SoftServiceKey)
  389.         CloseRegKey $(SoftParameterKey)
  390.         CloseRegKey $(SoftLinkageKey)
  391.         Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  392.             EndWait
  393.             goto fatalregistry
  394.         endif
  395.     endif
  396.     
  397. ;----------------------------------
  398. ;search for all CFIDs we support 
  399. ;----------------------------------
  400.     set AdapterFound = $(FALSE)
  401.  
  402.     set CFIDList = ^(CFIDS, 1)          
  403.     ForListDo $(CFIDList)
  404.     
  405.     set CurrCFID = $($)    
  406.     
  407.     Debug-Output "EMPCI: Current CFID="$(CurrCFID)
  408.     
  409.     set-div DeviceID = $(CurrCFID) 65336
  410.     Shell $(UtilityInf), GetPCIInformation, $(VendorID) $(DeviceID)
  411.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  412.         goto ShellCodeError
  413.     endif
  414.     
  415.     ifstr(i) $($R0) != {}
  416.         set AdapterList = $($R0)
  417.         set AdapterFound = $(TRUE)
  418.         ;----------------------------------
  419.         ;search for CFID based PCI adapters 
  420.         ;----------------------------------
  421.     
  422.         ForListDo $(AdapterList)
  423.             set BusNum = *($($),1)
  424.             set DeviceNum = *($($),2)
  425.             set FunctionNum = *($($),3) 
  426.             
  427.             Debug-Output "EMPCI: BusNum="$(BusNum)" DeviceNum="$(DeviceNum) 
  428.                 
  429.             Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(BusNum), +
  430.                 $(DeviceNum), $(ProductHardware$(Option)Description), $(ProductHardwareName) "YES"
  431.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  432.                 goto ShellCodeError
  433.             endif
  434.             ifstr $($R0) != "NO_ERROR"
  435.                 set Error = $($R0)
  436.                 goto fatal
  437.             endif
  438.             ifstr(i) $($R1) != "YES"
  439.                 Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  440.                 ifint $($R4) != -1
  441.                     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  442.                 endif
  443.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  444.                     goto ShellCodeError
  445.                 endif
  446.                 set RegistryErrorIndex = $($R0)
  447.                 Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
  448.                      EndWait
  449.                      CloseRegKey $($R1)
  450.                      CloseRegKey $($R2)
  451.                      CloseRegKey $($R3)
  452.                      goto fatalregistry
  453.                 endif
  454.                 read-syms FileDependentDlg$(!STF_LANGUAGE)
  455.                 SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
  456.                 ui start "InputDlg"
  457.                 ifstr(i) $(DLGEVENT) == "CONTINUE"
  458.                      set ConnectionIndex = $(Combo1Out)
  459.                      ui pop 1
  460.                 else-ifstr(i) $(DLGEVENT) == "BACK"
  461.                      set CommonStatus = STATUS_USERCANCEL
  462.                      ui pop 1
  463.                      goto end
  464.                 else
  465.                      ui pop 1
  466.                      goto end
  467.                 endif
  468.                 set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex)))
  469.                 Set HardNetCardKey      = $($R1)
  470.                 Set HardNetRuleKey      = $($R2)
  471.                 Set HardParameterKey    = $($R3)
  472.                 set AdapterNumber = $($R4)
  473.                 set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  474.                                     {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  475.                                     {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  476.                                     {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  477.                                     {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  478.                                     {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  479.                 Shell  $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
  480.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  481.                      goto ShellCodeError
  482.                 endif
  483.                 set BusTypeNum = 5
  484.                 set NewValueList = {{AdapterType,$(NoTitle),$(!REG_VT_DWORD),$(Adapter$(Option)Type)},+
  485.                                     {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  486.                                     {FULLPACKET,$(NoTitle),$(!REG_VT_DWORD),0},+
  487.                                     {IPG,$(NoTitle),$(!REG_VT_DWORD),0},+
  488.                                     {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  489.                                     {AdapterCFID,$(NoTitle),$(!REG_VT_DWORD),$(CurrCFID)}}
  490.                 Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  491.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  492.                     goto ShellCodeError
  493.                 endif
  494.                 ifint $(CurrCFID) == $(DC21041CFID) 
  495.                     set NewValueList = {{SnoozeMode,$(NoTitle),$(!REG_VT_DWORD),0}}
  496.                     Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  497.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  498.                         goto ShellCodeError
  499.                     endif
  500.                 endif
  501.                 ifint $(CurrCFID) == $(DC21140CFID) 
  502.                     set NewValueList = {{StoreAndForward,$(NoTitle),$(!REG_VT_DWORD),1},+
  503.                                         {TransmitThreshold,$(NoTitle),$(!REG_VT_DWORD),512}}
  504.                     Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  505.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  506.                         goto ShellCodeError
  507.                     endif
  508.                 endif
  509.                 ifstr(i) $(Option) == "MULTIA"
  510.                     set NewValueList = {{ExternalSia,$(NoTitle),$(!REG_VT_DWORD),1},+
  511.                                         {SiaRegister0,$(NoTitle),$(!REG_VT_DWORD),$(SiaRegister0)},+
  512.                                         {SiaRegister1,$(NoTitle),$(!REG_VT_DWORD),$(SiaRegister1)},+
  513.                                         {SiaRegister2,$(NoTitle),$(!REG_VT_DWORD),$(SiaRegister2)}}
  514.                     Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  515.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  516.                         goto ShellCodeError
  517.                     endif
  518.                 endif
  519.                 set NewValueList = {{ConnectionType,$(NoTitle),$(!REG_VT_DWORD),$(ConnectionValue)}}
  520.                 Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  521.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  522.                     goto ShellCodeError
  523.                 endif
  524.                 set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  525.                 set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  526.                 set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
  527.                                     {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  528.                                     {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
  529.                                     {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  530.                 Shell  $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
  531.                 ifint $($ShellCode) != $(!SHELL_CODE_OK)
  532.                     goto ShellCodeError
  533.                 endif
  534.                 CloseRegKey $(HardNetCardKey)
  535.                 CloseRegKey $(HardNetRuleKey)
  536.                 set NewValueList = {{BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNum)},+
  537.                                     {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(DeviceNum)},+
  538.                                     {FunctionNumber,$(NoTitle),$(!REG_VT_DWORD),$(FunctionNum)}}
  539.                 Shell  $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
  540.                 CloseRegKey $(HardParameterKey)
  541.             endif       
  542.         EndForListDo    ;$(AdapterList)
  543.     endif           ;ifstr(i) $($R0) != {}
  544.     
  545.     EndForListDo    ;$(CFIDList)
  546.     
  547.     ifint $(AdapterFound) == $(FALSE)
  548.         set Error = $(CANNOT_FIND_ANY_CARD)
  549.         set CommonStatus = USER_CANCEL
  550.         set from = end
  551.         goto nonfatal
  552.     endif        
  553.     
  554.     EndWait
  555.     goto successful
  556.     
  557. updateparameters =+
  558.     set HardParameterKey    = $($R3)
  559.     set NewValueList = {{ConnectionType,$(NoTitle),$(!REG_VT_DWORD),$(ConnectionValue)}}
  560.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  561.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  562.         goto ShellCodeError
  563.     endif
  564.     CloseRegKey $(KeyParameters)
  565.     goto successful
  566. bindingadapter =+
  567.     set Error = "Binding: Sorry, not yet implemented."
  568.     goto fatal
  569. removeadapter = +
  570.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  571.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  572.             $(ProductSoftwareName)
  573.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  574.             goto ShellCodeError
  575.         endif
  576.         set RegistryErrorIndex = $($R0)
  577.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  578.             goto fatalregistry
  579.         endif
  580.     else
  581.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  582.             $(ProductSoftwareName), $(!NTN_RegBase)
  583.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  584.             goto ShellCodeError
  585.         endif
  586.         set RegistryErrorIndex = $($R0)
  587.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  588.             goto fatalregistry
  589.         endif
  590.     endif
  591.     goto end
  592. UpgradeSoftware = +
  593.      OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  594.      Ifstr $(KeyProduct) != $(KeyNull)
  595.            Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  596.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  597.                Debug-Output "ShellCode error"
  598.                goto ShellCodeError
  599.            endif
  600.            set !UG_Filename = $($R0)
  601.            install "Install-Update"
  602.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  603.                goto fatal
  604.            endif
  605.            SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  606.            SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  607.            CloseRegKey $(KeyProduct)
  608.      else
  609.            goto fatalregistry
  610.      endif
  611.      goto end
  612. successful = +
  613.     goto end
  614. abandon = +
  615.     ForListDo $(OEM_ABANDON_OPTIONS)
  616.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  617.             $(ProductSoftwareName), $($)
  618.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  619.             goto ShellCodeError
  620.         endif
  621.         set RegistryErrorIndex = $($R0)
  622.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  623.             goto fatalregistry
  624.         endif
  625.     EndForListDo
  626.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  627.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  628.             $(ProductSoftwareName), FALSE
  629.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  630.             goto ShellCodeError
  631.         endif
  632.         set RegistryErrorIndex = $($R0)
  633.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  634.             goto fatalregistry
  635.         endif
  636.     endif
  637.     goto end
  638. warning = +
  639.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  640.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  641.         goto ShellCodeError
  642.     endif
  643.     ifstr(i) $($R1) == "OK"
  644.         goto $(to)
  645.     else-ifstr(i) $($R1) == "CANCEL"
  646.         goto $(from)
  647.     else
  648.         goto "end"
  649.     endif
  650. nonfatalinfo = +
  651.     Set CommonStatus = STATUS_USERCANCEL
  652.     Set Severity = STATUS
  653.     goto nonfatalmsg
  654. nonfatal = +
  655.     Set Severity = NONFATAL
  656.     goto nonfatalmsg
  657. nonfatalmsg = +
  658.     ifstr(i) $(Error) == ""
  659.         Set Severity = NONFATAL
  660.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  661.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  662.             goto ShellCodeError
  663.         endif
  664.         set Error = $($R0)
  665.     endif
  666.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  667.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  668.         goto ShellCodeError
  669.     endif
  670.     ifstr(i) $($R1) == "OK"
  671.         goto $(from)
  672.     else
  673.         goto "end"
  674.     endif
  675. fatalregistry = +
  676.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  677.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  678.         goto ShellCodeError
  679.     endif
  680.     set Error = $($R0)
  681.     goto fatal
  682. fatal = +
  683.     ifstr(i) $(Error) == ""
  684.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  685.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  686.             goto ShellCodeError
  687.         endif
  688.         set Error = $($R0)
  689.     endif
  690.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  691.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  692.         goto ShellCodeError
  693.     endif
  694.     goto setfailed
  695. ShellCodeError = +
  696.     set DlgType      = "MessageBox"
  697.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  698.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  699.     set STF_MB_TYPE  = 1
  700.     set STF_MB_ICON  = 3
  701.     set STF_MB_DEF   = 1
  702.     ui start "Error Message"
  703.     goto setfailed
  704. setfailed = +
  705.     set CommonStatus = STATUS_FAILED
  706.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  707.         set OEM_ABANDON_ON = FALSE
  708.         goto abandon
  709.     endif
  710.     goto end
  711. end = +
  712.     goto term
  713. term = +
  714.     Return $(CommonStatus)
  715. [Install-Option]
  716.     set STF_VITAL = ""
  717.     ifstr(i) $(AddCopy) == "YES"
  718.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  719.     endif
  720.     ifstr(i) $(DoCopy) == "YES"
  721.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  722.        CopyFilesInCopyList
  723.     endif
  724.     Exit
  725. [Install-Hlp]
  726.    set STF_VITAL = ""
  727.    AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
  728.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  729.    CopyFilesInCopyList
  730.    Exit
  731. [Install-Update]
  732.    set STF_VITAL        = ""
  733.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  734.    AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
  735.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  736.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  737.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  738.    CopyFilesInCopyList
  739.    exit
  740.    
  741. [Source Media Descriptions]
  742.     1  = "Cogent EMPCI PCI Driver Disk"
  743.  
  744. [Signature]
  745.     FileType = MICROSOFT_DRVLIB_FILE
  746. [GetSignature]
  747.     read-syms Signature
  748.     return $(FileType)
  749.  
  750. [ProductType]
  751. STF_PRODUCT  = Winnt
  752. ;STF_PLATFORM = I386
  753. ;STF_PLATFORM = Alpha
  754. ;STF_PLATFORM = ppc
  755. ;STF_PLATFORM = MIPS
  756.  
  757. [Files-Inf]
  758. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  759. [Files-EMPCI]
  760. 1,EMPCI.SYS , SIZE=999
  761. [Files-Hlp]
  762. 1,EMPCI.HLP , SIZE=999
  763. [LanguagesSupported]
  764.     ENG
  765. [OptionsTextENG]
  766.     EMPCI  = "Cogent eMASTER+ PCI Adapter"
  767. [FileConstantsENG]
  768. ProCaption   = "Windows NT Setup"
  769. ProCancel    = "Cancel"
  770. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  771.                "Are you sure you want to cancel copying files?"
  772. ProCancelCap = "Network Setup Message"
  773. ProText1     = "Copying:"
  774. ProText2     = "To:"
  775.  
  776. ProductSoftwareDescription = "Cogent eMASTER+ PCI Adapter Driver"
  777.  
  778. FunctionEMPCITitle = "Cogent eMASTER+ PCI Adapter Setup"
  779. ProductHardwareEMPCIDescription = "Cogent eMASTER+ PCI Adapter"
  780.  
  781. ConnectionList  = ^(ConnectionChoices$(Option), 1)
  782. ConnectionValues = ^(ConnectionChoices$(Option), 2)
  783. NoList  = ^(NoChoices, 1)
  784. NoValues = ^(NoChoices, 2)
  785. ShellCodeErrorTitle     = "Error: "$(Function$(Option)Title)
  786. ShellCodeErrorText      = "Shell Code Error."
  787. CANNOT_FIND_ANY_CARD    = "Network card is not present in the system"
  788. [DialogConstantsENG]
  789. Help        = "&Help"
  790. Exit        = "Cancel"
  791. OK          = "OK"
  792. HelpContext = ""
  793. Continue    = "Continue"
  794. Cancel      = "Cancel"
  795.  
  796. [FileDependentDlgENG]
  797. DlgText = "Choose the proper cable type for the "+
  798.           "network adapter. Select [Help] for a detailled "+
  799.           "description of the available options of the list."
  800. DlgTemplate = "ADAP_PROTO_COMBO"
  801. DlgType = "Combination"
  802. Caption = $(Function$(Option)Title)
  803. Combo1Label = "&Connection Type:"
  804. Combo1List = $(ConnectionList)
  805. Combo1Out  = $(ConnectionValue)
  806. ComboListItemsIn  = {Combo1List}
  807. ComboListItemsOut = {Combo1Out}
  808. EditTextLim = ""
  809. CBOptionsGreyed = {}
  810. MinHelpId = 10
  811. MaxHelpId = 30
  812. HelpContext = $(Help$(Option)Id)
  813.  
  814.